home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Auge 4000 / Auge 4000 #14 (1987-12-23)(Amiga User Gruppe Einzugsgebiet 4000).zip / Auge 4000 #14 (1987-12-23)(Amiga User Gruppe Einzugsgebiet 4000).adf / IMandelVroom / MandVroom.doc < prev    next >
Text File  |  1987-12-22  |  31KB  |  742 lines

  1.  
  2.   PURPOSE
  3.  
  4.   This document introduces you to MandelVroom, outlines it's features,
  5. and tells you how to use it.
  6.  
  7.   READINGS
  8.  
  9.   For a good explanation of Mandlebrot calculations, I recommend you
  10. look up the Computer Recreations column in the August 1985 edition
  11. of Scientific American magazine.
  12.  
  13.   You may want to read a book written by Dr. Benoit Mandelbrot, called
  14. "The Fractal Geometry of Nature", published by W. H. Freeman and Company.
  15. Dr. Heinz-Otto Peitgen and Dr. Peter Richter have written a very nice
  16. book called "The Beauty of Fractals".  It is published by Springer-Verlag.
  17. It has a some very nice pictures and is a good navigational guide. I
  18. recomend it.
  19.  
  20.   INTRODUCTION
  21.  
  22.   This program lets you navigate around the complex plane generating
  23. Mandelbrot pictures.  Picture data is saved in RAM allowing you to
  24. quickly recolor pictures using a powerful coloration mechanism.
  25.  
  26.   Once you've generated and recolored a picture, you can save it on
  27. disk in one of two formats: ILBM and MAND.  ILBM files are in IFF format.
  28. MAND files contain everything needed to recreate the picture.  It can
  29. take a long time to calculate Mandelbrot pictures.  MAND files allow
  30. you to save this precious data on disk.
  31.  
  32.   MandleVroom also has these features:
  33.     - Assembly language 32 bit fixed point Mandlebrot picture generator
  34.     - Assembly language Fast Floating Point Mandlebrot picture generator
  35.     - Picture presets
  36.     - Color palette
  37.     - Contour palette
  38.     - Mouse and graphics oriented user interface
  39.     - High resolution, interlace and halfbrite graphics modes supported
  40.     - Configurable number of bit planes
  41.     - Source in public domain
  42.  
  43.   TERMINOLOGY
  44.  
  45.   You need to know the following concepts to use this program:
  46.  
  47.     - Generators and Generation
  48.     - Navigation and Zooming
  49.     - Aspect Ratios
  50.     - Contours and Altitudes
  51.     - Pens and Colors
  52.  
  53.   GENERATORS AND GENERATION
  54.  
  55.   The generators perform Mandelbrot calculations over regions of the
  56. complex plane.  The generators produce a two dimesional array of
  57. iteration counts.  MandelVroom treats these iteration counts as
  58. altitudes.  You can use this program to navigate around the complex
  59. plane choosing regions to generate pictures over.
  60.  
  61.  Using preset locations as starting points, you can generate pictures.
  62. Once generated, you select a region within the picture that you want as
  63. the next picture.  When you start the generator, you 'zoom into' the
  64. new location in the complex plane.
  65.  
  66.   ASPECT RATIOS
  67.  
  68.   An aspect ratio is the ratio between the width and height of a rectangle.
  69. A square is a rectangle with a one to one aspect ratio.  The pixels on
  70. your screen have an aspect ratio that varies depending on graphics mode
  71. you are using.  MandelVroom takes the aspect ratios of the pixels into
  72. account when calculating pictures.
  73.  
  74.   Some Mandelbrot programs allow you to strech either the X or the Y
  75. axis.  In this case, a square picture window would not represent a square
  76. region in the complex plane.  MandelVroom will not allow you to do this.
  77.  
  78.   CONTOURS AND ALTITUDES
  79.  
  80.   Map makers often use color to indicate altitude in when making contour
  81. maps.  Contour maps usually have a 'key' indicating what colors relate
  82. to which altitude.  MandelVroom treats iteration count as altitude.
  83. It has a programmable key allowing you to assign pen numbers to ranges
  84. of altitudes.
  85.  
  86.   MandlVroom's programmable key is called the Contour Palette.  The Contour
  87. Palette contains thirty two contours.  You can use the thirty two contours'
  88. heights and colors to control the distribution of colors in your picture.
  89.  
  90.   PENS AND COLORS
  91.  
  92.   MandelVroom supports low resolution, high resolution, non-interlace,
  93. interlace, and half brite graphics modes.  In these graphics modes,
  94. the Amiga uses a hardware color indirection method for graphics
  95. display.  The Amiga hardware contains thirty two pens that can be filled
  96. with one of 4096 colors.  The following chart show how many pens
  97. the Amiga hardware supports for each graphics node.
  98.  
  99.                  Graphics Mode      Number of Pens
  100.                  ---------------- -----------------
  101.                   High Resolution         16
  102.                   Low Resolution          32
  103.                   Half Brite              64
  104.  
  105. Please note that interlace does not affect the number of pens available to
  106. you.
  107.  
  108.   MandelVroom has a Color Palette that allows you to copy, blend and
  109. exchange colors in the Amiga's color registers.
  110.  
  111.   STARTING MANDELBROT
  112.  
  113.   This version of MandelVroom can only be run from the CLI.
  114. To start the program, type:
  115.  
  116.                    MandelVroom
  117.  
  118.   When the program starts, it opens a custom screen and a Picture
  119. window.  It then generates a picture of the main Mandelbrot set.
  120. It will take a minute or two it to calculate this picture.
  121.  
  122.   THE MAIN MANDELBROT SET
  123.  
  124.   The black region in the middle of the picture is the Mandelbrot set.
  125. The bright area surrounding the Mandelbrot set is the place to explore.
  126. The darker regions outside the bright areas are of little interest.
  127. They are dark so they don't distract you from the interesting areas.
  128.  
  129.   NAVIGATION
  130.  
  131.   The Mandelbrot set is inside a circle of radius two, ceneterd about
  132. the origin of the complex plane.  The rectangular Picture window
  133. represents a rectangular region on the complex plane.  The pictures
  134. that MandelVroom generates depend on the regions you pick in the
  135. complex plane.
  136.  
  137.   MandelVroom generates pictures in the Picture window.  You can
  138. choose regions within the current picture to be the boundaries for
  139. the next picture.  When you generate, you will produce a big picture
  140. of the new region.  This is nicknamed 'zooming'.
  141.  
  142.   ZOOMING IN
  143.  
  144.   There are three steps to zooming in.
  145.  
  146.      1. Select a region for the next picture
  147.      2. Resize the Picture window if you like
  148.      3. Generate a new picture
  149.  
  150.   You select a region of the current picture using the Zoom Box.  The
  151. Zoom Box is a resizable and movable rectangle you use to box in a region
  152. for the next picture.
  153.  
  154.   THE ZOOM BOX
  155.  
  156.   You place, move, resize and close the Zoom Box using the mouse.  The
  157. following steps will open the Zoom Box in the Picture window:
  158.  
  159.       1. Pull down the Zoom Box item's Open sub-item
  160.       2. Place the mouse cursor in your Mandelbrot picture.
  161.       3. Depress and hold the left mouse button
  162.       4. Drag the mouse down and to the right
  163.       5. Release the left mouse button.
  164.  
  165.   The Zoom Box is a stick figure of an Intuition window.  The Zoom Box
  166. has a drag bar, resize gadget, and a close gadget.  The drag bar and
  167. close gadgets are at the top of the Zoom Box.  The resize gadget is in
  168. the lower right hand corner of the Zoom Box.
  169. The Zoom Box looks like this:
  170.  
  171.             +--- Close Gadget    +--- Drag Bar
  172.             |                    |
  173.             v                    v
  174.          +-----+----------------------------------+
  175.          |     |                                  |
  176.          |     |                                  |
  177.          +-----+----------------------------------+
  178.          |                                        |
  179.          |                                        |
  180.          |                                        |
  181.          |                                        |
  182.          |                                        |
  183.          |                                        |
  184.          |                                        |
  185.          |                                    +---+
  186.          |                                    |   |<---- Resize Gadget
  187.          |                                    |   |
  188.          +------------------------------------+---+
  189.  
  190.  
  191.   This is how you move the Zoom Box:
  192.  
  193.       1. Place the mouse cursor in the Zoom Box's drag bar
  194.       2. Depress and hold the left mouse button
  195.       3. Drag the Zoom Box around with the mouse
  196.       4. Release the left mouse button
  197.  
  198.   This is how you resize the Zoom Box:
  199.  
  200.       1. Place the mouse cursor in the Zoom Box's resize gadget.
  201.       2. Depress and hold the left mouse button
  202.       3. Resize the Zoom Box using the mouse
  203.       4. Release the left mouse button
  204.  
  205.   You can close the Zoom Box one of two ways:
  206.  
  207.       1. Press the Zoom Box's close gadget
  208.       2. Pull down the Close subitem of the Zoom Box item
  209.  
  210.   If you place a Zoom Box, and then decide you don't want to zoom,
  211. you can close the Zoom Box.
  212.  
  213.   RESIZING THE PICTURE WINDOW
  214.  
  215.   Once you've placed and sized your Zoom Box, you will want to resize
  216. the Picture window to have the same aspect ratio as your Zoom Box.  If
  217. you don't, when you generate you may get too little or too much of
  218. the area on the right side of the Zoom Box.
  219.  
  220.   GENERATING NEW PICTURES
  221.  
  222.   If you pull down the Generate item of the Project menu,  MandelVroom
  223. will generate a new picture for you.  Using the zoom box and the
  224. generator, you can repeatedly zoom in until you find things you
  225. think are interesting.
  226.  
  227.   STOPING THE GENERATORS
  228.  
  229.   Pictures take from minutes to hours to generate.  You can stop the
  230. generator by pulling down the Stop item of the Project menu.  Once stopped,
  231. the generators can not be restarted, except at the begining of the
  232. picture. Once the generator is stopped, you can proceed as though the
  233. whole picture was calculated.
  234.  
  235.   CHANGING MAGNIFICATIONS
  236.  
  237.   MandelVroom is like a microscope with variable magnification.  Every
  238. time you zoom in and generate a new picture,  you increase the
  239. magnification of your microscope.  You can also change the
  240. magnification by changing the height of the picture window.
  241. Making the picture window taller increases the magnification.  Making
  242. the picture window shorter decreases the magnification.
  243.  
  244.   If you make the picture window wider, while not changing it's height,
  245. you will not change magnification factor.  You will get a picture
  246. covers a wider piece of the complex plane.
  247.  
  248.   If you want to make a large version of a small picture, all you need
  249. to do is resize the window and generate.  You must take care to make
  250. sure the aspect ratio of the original window and the new window are the
  251. same.  If you make the picture too narrow, some of the things you want
  252. in the picture may be cut off.  If it is too wide, you may have extra
  253. things in your picture.
  254.  
  255.   The same is true for the relative aspect ratios of the zoom box and
  256. the picture window.
  257.  
  258.   GOOD NAVIGATING
  259.  
  260.   This program has nice facilities for zooming into the Mandelbrot set.
  261. It is severly lacking in methods for zooming out.  It's saving grace is
  262. that you can save interesting pictures to disk.  You can also reload
  263. these pictures and resume zooming.  You can use use disk files to
  264. record your journey in search of the ultimate Mandelbrot picture.
  265. File access is discussed in the LOADING AND SAVING section.
  266.  
  267.   The best way to be a good navigator is to practice.  Start by generating
  268. a picture of the main Mandelbrot set.  Zoom in on the perimiter of
  269. the set.  Try not to get too much Mandelbrot in the picture, it takes
  270. a long time to calculate.  If you like the picture, you can save it
  271. on disk, and zoom somewhere into the picture.  Keep doing this and
  272. you are bound to find something nice.
  273.  
  274.   Good navigating is an art.  Good subject placement and framing can make
  275. a world of difference in a picture.  Sometimes you want lot's of detailed
  276. real estate in the picture (like a picture of Yosemite Valley.)  Other
  277. times you want to isolate and capture a small object (like a picture
  278. of a small flower.)
  279.  
  280.   WHAT'S NEXT
  281.  
  282.   Once you have a picture generated, you probably want to recolor it.
  283. The next section explains how to pick and choose colors for your picture.
  284.  
  285.   PICTURE RECOLORING
  286.  
  287.   You can use the Color Palette and the Contour Palette to recolor a
  288. MandelVroom picture.  You can use the Color Palette to affect the
  289. colors in you pens.  You can also use the Contour palette to change
  290. the distribution of pens and colors in your picture.  The next
  291. section explains the use of the Color Palette.  The Contour palette is
  292. discussed in the THE CONTOUR PALETTE section.
  293.  
  294.   THE COLOR PALETTE
  295.  
  296.   You can open the Color palette by pulling down the Color item of the
  297. Edit menu.  The color palette looks like this:
  298.  
  299.         +---+-------------------------+---+---+
  300.         | . | Color                   |   |   |
  301.         +---+-------------------------+---+---+
  302.         |                                     |
  303.         | ++ ++ ++ ++  R  G  B  +---+         |
  304.         | ++ ++ ++ ++           |   | Copy    | <-- copy a pen's color
  305.         |             ++        +---+         |
  306.         | ++ ++ ++ ++                         |
  307.         | ++ ++ ++ ++    ++     +---+         |
  308.         |                       |   | Spread  | <-- Spread from pen to pen
  309.         | ++ ++ ++ ++           +---+         |
  310.         | ++ ++ ++ ++       ++                |
  311.         |                       +---+         |
  312.         | ++ ++ ++ ++           |   | Exchg   | <-- Exchange two pens
  313.         | ++ ++ ++ ++           +---+         |
  314.         |                                     |
  315.         | ++ ++ ++ ++                         |
  316.         | ++ ++ ++ ++                         |
  317.         |                                     |
  318.         | ++ ++ ++ ++                         |
  319.         | ++ ++ ++ ++                         |
  320.         |                                     |
  321.         | ++ ++ ++ ++                         |
  322.         | ++ ++ ++ ++                         |
  323.         |                                     |
  324.         | ++ ++ ++ ++                         |
  325.         | ++ ++ ++ ++                         |
  326.         |                                     |
  327.         +-------------------------------------+
  328.           ^        ^   ^  ^  ^
  329.           |        |   |  |  |
  330.           |        |   +--+--+-- RED/GREEN/BLUE potentiomenters
  331.           |        |
  332.           +--------+- Pens
  333.  
  334.  
  335.   ADJUSTING PEN COLORS
  336.  
  337.   You can use the Red, Green, and Blue potentiometer gadgets to adjust a
  338. pen's color components.  The following steps show you how to change a
  339. pen's color:
  340.  
  341.        1. Click the mouse on the pen you want to modify.
  342.        2. Adjust it's color using the R/G/B potentiometer gadgets.
  343.  
  344.   COPYING PEN COLORS
  345.  
  346.   You can copy one pen's color into another pen by performing the following
  347. steps:
  348.  
  349.        1. Click the mouse on the pen you want to copy
  350.        2. Click the Copy gadget
  351.        3. Click the pen you want to change
  352.  
  353.   SPREADING PEN COLORS
  354.  
  355.   You can create a range of colors between pens (e.g. a range of pens from
  356. dark green to light green) using the Spread gadget.  You use the spread
  357. gadget in the following way:
  358.  
  359.        1. Click the mouse on a pen at one end of the range
  360.        2. Click the Spread gadget
  361.        3. Click the mouse on the pen at the other end of the range
  362.  
  363.   EXCHANGING PEN COLORS
  364.  
  365.   These steps will exchange two pen colors:
  366.  
  367.        1. Click the mouse on one of the pens you want to exhange
  368.        2. Click the mouse on the Excg gadget
  369.        3. Click the mouse on the other pen
  370.  
  371.   NOTES ON CHANGING PEN COLORS
  372.  
  373.   Be very careful when changing the top four pens in the left most
  374. column of pens.  These pens are used by the system to render windows and
  375. screens.  If you make these pens the same color, you may have problems
  376. seeing MandelVroom's controls.
  377.  
  378.   The Amiga uses pens 17 through 19 when drawing the mouse cursor.  If
  379. change these pens, the cursor may be hard to work with.
  380.  
  381.   The Zoom Box on the picture window is rendered using a drawing mode
  382. called complement.  When the system is drawing a line in complement
  383. mode, it negates the pen number in each pixel in the line.  If you have
  384. five bit planes, you have thirty two pens.  The complement of pen 0 is
  385. pen 31.
  386.  
  387.  It you draw a line in complement mode, you can erase it by drawing the
  388. same line again in complement mode.
  389.  
  390.   If complementary pens have similar colors in them, then object drawn
  391. in complement mode is unnoticable.  If you have problems finding your
  392. Zoom Box, check out your pen colors.
  393.  
  394.   THE CONTOUR PALETTE
  395.  
  396.   The Contour Palette is a powerful control mechanism for coloring your
  397. Mandelbrot pictures.  It has thirty two contours.  Each contour has a pen
  398. and a height.  MandelVroom expects to find the contours' heights decreasing
  399. as you traverse the list of contours from 0 to 31.  Given this, a contour
  400. actualy represents a range of heights.
  401.  
  402.   Here is an example description of the list of four contours:
  403.  
  404.          Contour  Contour  Contour       Contour
  405.          Number   Height     Pen          Range
  406.          -------  -------  -------      ---------
  407.             0      1023       0         1023-1023
  408.             1       500      10         1022-500
  409.             2       300       1          499-300
  410.             3       100       2          299-100
  411.  
  412.   OPENING THE CONTOUR PALETTE
  413.  
  414.   You can open the Contour palette by pulling down the Contour item of
  415. the Edit menu.  The Contour Palette looks like this:
  416.  
  417.                 +---+-------------------------------------------+--+--+
  418. status line ->  |   | C: 0   H: 1023  P: 0                      |  |  |
  419.                 +---+-------------------------------------------+--+--+
  420.                 |                                                     |
  421. set pen or  --> | .. .. .. .. .. .. .. .. .. .. Set      +---+        |
  422. height gadgets  | .. .. .. .. .. .. .. .. .. ..       .. |   | ReColor|
  423.                 |                                        +---+        |
  424. increment   --> | .. .. .. .. .. .. .. .. .. .. +                     |
  425. height          | .. .. .. .. .. .. .. .. .. ..                       |
  426.                 |                                        +---+        |
  427.             +-> | ..                                     |   | Smooth |
  428.             |   | ..                                     +---+        |
  429.             |   |                                                     |
  430.             |   |    ..                                               |
  431.             |   |    ..                                               |
  432. height      |   |                               Alt.                  |
  433. potentiomenters |       ..                                            |
  434.             |   |       ..                                            |
  435.             |   |                                                     |
  436.             |   |          .. .. .. .. .. .. ..                       |
  437.             +-> |          .. .. .. .. .. .. ..                       |
  438.                 |                                                     |
  439.                 |                                                     |
  440. decrement   --> | .. .. .. .. .. .. .. .. .. .. -                     |
  441. height          | .. .. .. .. .. .. .. .. .. ..                       |
  442.                 |                                                     |
  443.                 +-----------------------------------------------------+
  444.                   ^                             ^      ^    ^
  445.                   |                             |      |    |
  446.                   +---------- Contours ---------+      |    + Commands
  447.                   0  1  2   .........     30 31        |
  448.                                                        +-- Ceiling
  449.  
  450.  
  451.   As the generator calculates pictures, it saves the data in RAM.  Once
  452. the picture is generated, you can change the Contour Palette and recolor
  453. the picture.  When you push the 'ReColor' gadget, MandelVroom traverses
  454. the Mandelbrot data, converting altitude to pen, and plotting pens in the
  455. picture window.  This mechanism allows you to recolor the picture quickly
  456. and repeatedly until you are happy with the way it looks.
  457.  
  458.   Each contour has four gadgets: a set gadget, an increment height gadget,
  459. a height potentiometer, and a decrement height gadget.
  460. These are used to modify a given contour's height and/or pen.
  461.  
  462.   SETTING A CONTOUR'S PEN
  463.  
  464.   You can use any pen for any contour.  To do this, you must have both the
  465. Contour and Color Palette windows open.  To set a contour's pen, click it's
  466. Set gadget and the click a pen in the Color Palette.  Notice there is no
  467. change in the Picture window?  The change will not take place until you
  468. hit the ReColor gadget of the Contour window.
  469.  
  470.   SETTING A CONTOUR'S HEIGHT
  471.  
  472.   You can set a given contour's height, by adjusting it's potentiometer
  473. gadget.  You can use the increment and decrement gadgets to fine tune
  474. contours' heights.
  475.  
  476.   You can also set a given contour's height by clicking it's Set gadget
  477. and clicking a point on the Picture window.  The program will look up
  478. the height associated with the pixel you click and use that as the
  479. contour's new height.  This is the most useful way of setting a contour's
  480. height.
  481.  
  482.   Height changes do not affect the picture until you press the ReColor
  483. gadget of the Contour window.
  484.  
  485.   NOTES ON CONTOURS
  486.  
  487.   MandelVroom expects contours' heights to decrease as you traverse the
  488. list of contours from 0 to 31.  Any contour that does not meet this
  489. expectation is ignored.
  490.  
  491.   SMOOTHING CONTOURS
  492.  
  493.   You can evenly distribute a set of contours' heights by using the
  494. Smooth gadget.  This is comparable to the Color palette's Spread
  495. gadget.
  496.  
  497.   Example:
  498.  
  499.   pull the far right contour's potentiometer gadget down to the bottom
  500.   (e.g. set that contour's height to 0.)  Pull the far left contour's
  501.   potentiometer gadget all the way to the top.  Click the smooth gadget.
  502.   Click the right-most contour's set gadget.  All the contours in the
  503.   middle change.  They are evenly distributed.
  504.  
  505.   Soothing of contours can be done between any two contours.  The
  506. contour settings created by the above example do not lend themselves to
  507. very good pictures.  You are in charge of deciding what heights and colors
  508. are appropriate for each picture.
  509.  
  510.   A RECOLORING METHOD
  511.  
  512.   The contour method is very powerful for recoloring Mandelbrot
  513. pictures.  When starting in to color a new picture, I usually set contour
  514. two to a black pen with zero height.  I then vary the height of contour
  515. one until I get the amount of color want.  I then restore contour one's
  516. original height and pen.  I then set contour thirty one's height to zero.
  517. Using the Smooth command, I evenly distribute all the contours between
  518. contour thirty one and contour one.  I then recolor the picture using
  519. the Recolor gadget.
  520.  
  521.   Looking at the colors in the contours and the colors on the picture,
  522. I can find the lowest point in the picture.  I set contour thirty one's
  523. height using the picture window.  Again I smooth the points between
  524. contour one and contour thirty one, and recolor the picture.
  525.  
  526.   This gives me the height of the highest non-Mandelbrot point in
  527. the picture in contour one.  I also have lowest point height in
  528. contour thirty one.  This gives me a feel for the distribution of
  529. point's heights in the picture.
  530.  
  531.   THE CEILING GADGET
  532.  
  533.   The potentiometer gadgets serve a couple of purposes. They allow you to
  534. set a given contour's height.  They also allow you to see (roughly) what
  535. the contour's height's are.
  536.  
  537.   In most Mandelbrot pictures, very few points
  538. fall in the top half of the possible iteration count range.  Typically
  539. by the sixth contour, the remaining potentiometer's are at the same
  540. pixel height in the window (although they have different heights).
  541.  
  542.   The Ceiling gadget allows you to get a better look at the shorter
  543. contours.  Move it around and watch what it does. The contour's
  544. potentiometers change, but the contour's height's don't. Comprende?
  545.  
  546.   I have very hard time explaining this one.  Moving the ceiling gadget
  547. does not affect the picture.  It only affects the display of the
  548. contour's potentiometer gadgets.
  549.  
  550.   I guess the best thing is to just set the ceiling to varous values
  551. until you see what it does.
  552.  
  553.   THE STATUS LINE
  554.  
  555.   There is a status line in the Drag bar of the Contour window. It shows
  556. you information about the current contour.  When you select a contour's
  557. select gadget, the program will display the contour number, the contour's
  558. height range and pen in the status line.  You can use this to
  559. find out what numbers are in which contours.
  560.  
  561.   SAVING AND LOADING
  562.  
  563.   You can save and load raw Mandlebrot data files on floppies.  The
  564. program saves all the data necessary to generate and zoom new pictures.
  565. This can be very usefull for saving your place while you are navigating.
  566. If you zoom in, and don't like it, you can pull where you were off disk.
  567. You can load MAND files using the Project menu's Load item.  The Save
  568. item, of the Project menu, has a MAND sub-item that is used to save
  569. MAND files on disk.
  570.  
  571.   SAVING ILBMS
  572.  
  573.   You can save pictures in ILBM format.  This allows you to take pictures
  574. from this program and use them in slide shows or in DPaint.  You can
  575. save ILBM files by using the ILBM sub-item of the Project menu's Save
  576. item.
  577.  
  578.   CONFIGURING AMIGA GRAPHICS
  579.  
  580.   The program allows you to use many of the Amiga's graphics modes.  It
  581. supports: low and high resolutions, non-interlace and interlace, and
  582. halfbrite mode (yes, I have a half bright denice.)  The program also
  583. allows you to chose the number of bit planes to use.  The number of bit
  584. planes affects the number of pens you can have for coloring Mandelbrot.
  585.  
  586.   You can change the graphics modes of the program by pulling down the
  587. ViewModes item of the Edit menu.  The ViewModes item has three sub-items:
  588. HIRES, INTERLACE, and HALFBRITE.  These are used to configure ViewModes.
  589. Once you have ViewModes configured, pull down the NewScreen item of the
  590. Project menu.  The program will close the old screen and open a new one
  591. with your new specifications.
  592.  
  593.  Beware: HALFBRITE and HIRES are mutually exclusive.  The program will
  594. not allow you to configure ViewModes in ways that the Amiga hardware
  595. can't handle.
  596.  
  597.   You can change the number of bit planes using the list of depths
  598. available in the Depth item of the Edit menu.  It allows you to use
  599. from 1 to 6 bit planes.  Some combinations of Depths and ViewModes
  600. are illegal.  HIRES screens can only have four bit planes.  HALFBRITE
  601. screens require six bit planes.  The program modifies the number of
  602. bit planes to a legal value where required.
  603.  
  604.   GENERATORS
  605.  
  606.   The Mandelbrot set has infinite detail.  The Amiga has finite
  607. numerical precision. This precision limits how far down you can zoom
  608. into the Mandelbrot set.  This program has two generators: a 32 bit
  609. fixed point generator, and a Motorola Fast Floating Point generator.
  610. They both perform the same Mandelbrot calculations, they just use
  611. different data formats.  Both generators are finely tuned, had crafted
  612. assembly.  Good performance was the goal.
  613.  
  614.   The 32 bit fixed point generator is considerably faster than the
  615. floating point generator.  The fixed point generator can not zoom in
  616. as far as the floating point generator.   I use the fixed point generator
  617. until the lack of precision becomes unbearable.  I then switch to the
  618. floating point generator.  You can switch between fixed point and floating
  619. point generators in the Generator item of the Edit menu.
  620.  
  621.   The floating point generator allows you to configure the number of
  622. iterations done in the Mandelbrot calculation.  This is handy for
  623. quicker pictures at lower magnifications.  The farther you zoom in,
  624. the higher the iteration count required (generally.)  The fixed point
  625. generator always uses 1023 as the maximum iteration count.
  626.  
  627.   PRESET LOCATIONS
  628.  
  629.   This program has a number of preset pictures that I think are very
  630. pretty.  The first preset generates a picture of the main Mandelbrot
  631. set.  The presets are intended as examples of good navigation and
  632. coloration.  I hope you like them.  To generate a preset picture, pull
  633. down a preset item and release. The program prepares itself and
  634. generates the picture.
  635.  
  636.   All the presets produce small pictures.  If you want to generate
  637. large versions of the presets, you can stop the generator, resize
  638. the picture window, an pull down the Generate item of the Project menu.
  639.  
  640.   SAVING TIME
  641.  
  642.   Mandelbrot calculations take a long time.  One way to avoid long
  643. calculation times is to generate small pictures without many points in
  644. the Mandelbrot set.  Use small Picture windows while zooming in on
  645. something, then make the Picture window large when you've found
  646. something you really like.
  647.  
  648.   Another interesting way to save time is to not watch the picture
  649. generate.  If you are using 5 or more bit planes in low resolution
  650. graphics mode, the video hardware steals memory bus cycles from the
  651. 68000.  Other graphic modes and bit plane combinations also degrade
  652. 68000 performance.  When generating somethime,  watch the speed of the
  653. generator.  Pull the screen down three fourths of the way down the
  654. monitor.  See the generator speed up?  If you are in a real hurry,
  655. you can pull all the screens down.  In this case, the video hardware
  656. hardly uses any memory bus cycles, the only problem is you can't
  657. see anything.
  658.  
  659.   MEMORY HOGGING
  660.  
  661.   This program can consume a lot of memory.  It allocates a word of memory
  662. for each pixel in a picture.  A 640 by 400 window requires 512K bytes
  663. of memory.  If you have a 512K Amiga, you will not be able to generate
  664. full screen interlace or high resolution pictures.  You can, however,
  665. generate smaller pictures in these graphic modes.
  666.  
  667.   ADVANCED TOPICS
  668.  
  669.   Mandlebrot calculations are CPU and memory intensive. You can do some
  670. things to reduce memory consumption (LORES, NONINTERLACE, 1 bit plane).
  671. It is hard to reduce the CPU usage.  This program can multitask, but
  672. it will interfere with other programs running at the same priority.
  673. You can use the ChangeTaskPri function available under Workbench 1.2
  674. to set Mandelbrot's priority lower than other programs you might want
  675. to run.
  676.  
  677.   You might also notice that not all Mandelbrot pixels take the same
  678. amount of time to calculate.  I have a Mandelbrot detection algorithm
  679. in both the fast floating point and fixed point algorithms.
  680.  
  681.   It turns out that the points inside the Mandelbrot set cycle.  My
  682. generators use a trace mechanism to detect these rings.  If a ring is
  683. detected, then the pixel is Mandelbrot.  It saves lots of time when
  684. calculating the main Mandelbrot set.  It saves less as you zoom in.
  685.  
  686.   SOMEDAY
  687.  
  688.   I have tons of new ideas and feature that I would like to add.
  689.   Some are:
  690.  
  691.     - Fixed point generator sensitive to Max Index
  692.     - Double precision fixed point generator
  693.     - IEEE floating point generator
  694.     - Generator runs as seperate task
  695.     - change task priority built into program
  696.     - movable magnifying glass generator
  697.     - other fractal generators (julia curves....)
  698.     - key in generator's maximum iteration counts from the keyboard
  699.  
  700.     - Good zoom out controls
  701.     - record a history of points you've been to.
  702.     - key in complex plane locations from keyboard
  703.     - a 'You are here --->' display feature
  704.     - proportional zoom box and picture window controls
  705.  
  706.     - three dimensional rendering
  707.  
  708.     - Many more contours.
  709.     - assign a range of colors to a range of contours
  710.     - copy contour pen patters into other contours
  711.     - Auto-contouring.
  712.     - a histogram of altitudes in picture
  713.  
  714.     - Volume-Hue-Saturation controls in color palette
  715.     - Color cycling
  716.     - borderless picture window/screen
  717.     - overscan graphics
  718.  
  719.     - define IFF file format for Raw Mandelbrot information
  720.     - less ram usage
  721.     - a 68881 (oops! I guess I'll need new hardware)
  722.  
  723.   APOLOGIES
  724.  
  725.   Sorry this document is so big,  but I hope helps you understand how
  726. to use the program. I also apologize for any inacuracies in this document.
  727. Sorry for any bugs this program has.  I know they can be annoying.
  728.  
  729.   Finally I apologize for all the Amiga CPU time this program will
  730. consume.
  731.  
  732.   AUTHOR
  733.  
  734.   Kevin L. Clague
  735.   408 Tortola Way
  736.   San Jose, Ca 95133
  737.  
  738.   Home 408-258-9891
  739.   Work 408-737-5481
  740.  
  741.  
  742.